Vous pouvez retrouver cette fiche rcapitulative sur la page du glossaire de Docstring (avec la possibilit de tester le code) :

https://www.docstring.fr/glossaire/structure-conditionnelle/


Les structures conditionnelles permettent d'ajouter de la logique dans l'excution du code.

Grce des conditions, vous pouvez contrler votre code et excuter une action A plutt qu'une action B par exemple.

Syntaxe

En Python, on crit une structure conditionnelle grce au mot cl if :

if condition:
    code
    ...

suite du code
...

Python excute le code qui se trouve l'intrieur de votre structure conditionnelle uniquement si la condition est vraie (True).

Si c'est False, le code n'est pas excut.

En Python, None et 0 sont des valeurs interprtes comme False

Autre chose, vous devez ajouter deux points : aprs la condition lors de la dclaration du if, sans quoi votre code ne fonctionnera pas.

De mme, vous devez indenter votre code l'intrieur de votre structure conditionnelle pour qu'il soit correctement interprt par Python.

La premire ligne indente marque le dbut du bloc de code et cela s'arrte la premire ligne qui ne l'est plus.

age = 24 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")

print("J'ai", age, "ans !")

Dans cet exemple, je souhaite vrifier qu'un utilisateur est majeur.

Je dfinis une variable age qui correspond l'ge de l'utilisateur fictif puis une constante MAJORITE qui est assigne la valeur 18, l'ge lgal de la majorit en France.

Je dmarre ma structure conditionnelle avec le mot-cl if suivi de la condition age >= MAJORITE et de deux-points :

Si la variable age est gale 18 ou plus, j'indente mon code et j'affiche le message Je suis majeur !

Dans tous les cas, le programme se termine par l'affichage de l'ge de l'utilisateur.

if / else

Dans le premier exemple, notre code faisait quelque chose de particulier uniquement si l'utilisateur tait majeur.

Qu'en est-il s'il est mineur ?

Le mot cl else permet d'excuter une condition si les conditions prcdentes ne sont pas vrifies.

On doit l'crire au mme niveau d'indentation que le if, finir par deux-points : puis indenter notre code.

age = 15 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !")

if / elif / else

Le mot-cl elif (pour else if , en franais sinon si ) permet d'ajouter des conditions supplmentaires une structure conditionnelle.

On peut ajouter autant de elif que ncessaire.

Si la condition teste dans le if est False alors on testera celles du/des elif. Si toutes ces conditions retournent False alors on excutera le code se trouvant dans le else.

age = 18 
MAJORITE = 18

if age > MAJORITE:
    print("Je suis majeur !")
elif age == MAJORITE:
    print("Tout juste majeur depuis aujourd'hui")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !") 

Imbriquer des structures conditionnelles

Vous pouvez imbriquer une structure conditionnelle dans une autre structure, puis dans une autre, et encore une autre, etc...

On appelle a de l'imbrication en franais ( nesting en anglais).

Il suffit de dclarer votre nouvelle structure l'intrieur de la prcdente avec une indentation.

Vous imbriquez ainsi, grce l'indentation, plusieurs structures les unes dans les autres, comme des poupes russes :

age = 18 
MAJORITE = 18

if age >= MAJORITE:
    print("Je suis majeur !")
    if age == MAJORITE:
        print("Tout juste majeur depuis aujourd'hui")
else:
    print("Je suis mineur..")

print("J'ai", age, "ans !")

Il est conseill de ne pas trop abuser de cette imbrication pour que votre code reste lisible et facile suivre.